package com.leonzhangxf.ioc.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Used for java bean which would like to be managed it's self lifecycle by ios framework.
 *
 * @author leonzhangxf
 */
@Documented
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Component {

    /**
     * Customer define the id of the bean.
     * <p>
     * Default is CamelCase of current bean.
     * <p>
     * For example HelloBean, then it's id is helloBean.
     */
    String value() default "";
}
